// import { h, nextTick, render } from "vue";
// import MonacoDialog from "./MonacoDialog.vue";

// export default (code: string): Promise<{ code: string; next: () => void }> => {
//     return new Promise((resolve, reject) => {
//         const vNode = h(MonacoDialog, {
//             onConfirm: (code) => {
//                 resolve({
//                     code,
//                     next: () => {
//                         if (vNode.component!.exposed) {
//                             vNode.component!.exposed.monacoInstance.value?.dispose();
//                             vNode.component!.exposed.monacoInstance.value = null;
//                             vNode.component!.exposed.dialog.show = false;
//                         }
//                     },
//                 });
//             },
//             onCancel: () => reject(),
//         });
//         render(vNode, document.body);
//         nextTick(() => {
//             vNode.component!.exposed?.open(code);
//         });
//     });
// };
